The present invention relates generally to managing data stored in a storage system, and more particularly to relocating data in a computer system having a plurality of storage systems.
One conventional technique for relocation of data stored in a storage system such as a disk array system is described in JP-A-No. Hei 9-274544. The disk array system in this application refers to a system, in which a plurality of disk units are arranged in arrays, for accomplishing the reading/writing of data. The data is divided and stored among the individual disk units and read/written at high speed by operating the disk units in parallel. As described in D. A. Patterson, G. Gibson and R. H. Kats, “A Case for Redundant Arrays of Inexpensive Disks (RAID),” Proc. ACM SIGMOD, pp. 109-116, June 1988, different levels consisting of level 1 through level 5 are given, depending on the redundancy configuration of the disk array systems. In addition to these redundancy levels, a disk array system without redundancy may be referred to as level 0.
Since disk array systems of different levels differ in cost, performance and characteristics, arrays (each being a group of disk units) of a plurality of levels are often mixed in architecting a disk array system. An array of each level in such a case is referred to as a parity group. As the disk units also differ in cost with performance, capacity and other factors, a plurality of types of disk units, differing in performance and capacity, may also be used in architecting a disk array system with a view to achieving the optimal cost performance.
Furthermore, in such a disk array system, since data may be distributed among a plurality of disk units, each logical storage area to be accessed by a host computer connected to the disk array system is matched with a physical storage area of a disk unit (address conversion). In such a disk array system, according to JP-A-No. Hei 9-274544, for a logical storage area, data may be relocated from one physical storage area to another physical storage area without changing the logical storage area address. Further, the load state due to accessing by the host computer to the different logical storage areas are managed, and the particulars of a relocation are determined so that the data be appropriately arranged after the relocation.
There are also techniques for transferring data between a host computer and storage systems such as that disclosed in M. T. O'Keefe, “Shared File Systems and Fibre Channel,” Proc. Sixth Goddard Conference on Mass Storage Systems and Technologies, pp. 1-16, March 1998. According to this technique, there is disclosed a SAN (Storage Area Network), i.e. a storage environment in which a plurality of host computers and a plurality of storage systems are connected by Fibre channels (FCs), in which high-speed interfaces, realize data sharing via the FCs. By transferring data via FCs in this way, loads on the host computers and the network can be reduced compared with usual transfers via a network.
A conventional technique for enabling a plurality of computers to share data in files held by storage systems connected to typical networks not using high-speed FCs, is an NFS (Network File System). When data is shared using an NFS, loads on the computer sharing data or on the network connecting the computers and storage systems are greater than in the aforementioned case of using FCs. However, since existing networks can be used, it has its own advantages in that the cost of new equipment can be smaller than where a FC network is to be newly laid and the management of file sharing and other factors can be easier.
As stated above, the technique described in JP-A-No. Hei 9-274544 makes possible relocation of data within a disk array system. However, it does not cover relocation of data between storage systems in computer system having a plurality of storage systems. In addition, since a disk array system is incapable of file recognition, the technique does not allow relocation of files.
On the other hand, a SAN (Storage Area Network) makes possible high-speed data transfers between storage systems using a FC switch. However, relocation of data by transferring data between storage systems by using a SAN entails the following problems.
In the prior art for a SAN, no consideration is given to the acquisition by the host computer, which is to control relocation of data, of necessary information for determining appropriate arrangement of data, such as the state of load on each storage area in each storage system due to accessing by the host computer. As a result neither the host computer nor its user can judge how data should be relocated to realize efficient arrangement of the data.
Furthermore, even if the user tried to relocate data in each storage system himself/herself, the burden on the user would be great because the user would have to check in detail and take charge of everything including the management of unused areas in the destination of data relocation.
Moreover, if data is transferred between storage systems, the data seen by an application, i.e., the destination address to be designated by the application to access the same data, will differ between before and after the relocation.
Also, data sharing on a typical network using an NFS involves the following problems.
In the prior art, when a host computer used for data sharing in an NFS network (hereinafter to be referred to as an “NFS server”), manages a plurality of storage systems, the NFS server itself cannot physically relocate data between the plurality of storage systems. As a consequence, it is very difficult to accomplish, by using an NFS server, fine differentiation and management of the storage areas in the storage systems, such as altering the physical positions of shared data for each computer.
Thus there is a need for a host computer, including an NFS server, to acquire from the storage systems, for example disk arrays, necessary information for appropriate arrangement of data and thereby alleviate the burden on the user of managing the data on the storage systems. There is also a need for relocation of data between different storage systems to be transparent to an application, i.e., the data location seen by an application is the same before and after the relocation. Lastly, there is a need for the relocation of data as files.